package br.com.beethoven.model.service;

import java.util.ArrayList;
import java.util.List;

import br.com.beethoven.data.interfaces.IBandaDAO;
import br.com.beethoven.data.interfaces.impl.BandaHibernateDAO;
import br.com.beethoven.exception.BDException;
import br.com.beethoven.model.entidade.Banda;
import br.com.beethoven.model.entidade.vo.BandaVO;

public class ServiceGerenciarBanda {
	
	private IBandaDAO iBandaDAO;
	
	public ServiceGerenciarBanda(){
		this.iBandaDAO = new BandaHibernateDAO();
	}
	
	public void cadastrarBanda(BandaVO bandaVO) throws BDException {
		Banda banda = new Banda();
		banda.VO2entity(bandaVO);
		this.iBandaDAO.addEntity(banda);
	}
	
	public void editarBanda(BandaVO bandaVO) throws BDException{
		Banda banda = new Banda();
		banda.VO2entity(bandaVO);
		this.iBandaDAO.updateEntiy(banda);
	}
	
	public void removerBanda(BandaVO bandaVO) throws BDException{
		Banda banda = new Banda();
		banda.VO2entity(bandaVO);
		this.iBandaDAO.removeEntity(banda);
	}
	
	public List<BandaVO> listar() throws BDException{
		List<BandaVO> lista = new ArrayList<BandaVO>();
		List<Banda> listaAux = new ArrayList<Banda>();
		listaAux = this.iBandaDAO.listAll();
		for(Banda banda : listaAux){
			lista.add(banda.entity2VO());
		}
		return lista;
	}

	public boolean validarBanda(BandaVO bandaVO){
		return true;
	}

}
